home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 June / PCWorld_2004-06_cd.bin / software / vyzkuste / koolmoves / kmsetup.exe / {app} / Motion Scripts / Jigsaw / effect.txt
Text File  |  2002-11-07  |  2KB  |  99 lines

  1. mcN = "letter";
  2.  
  3. increments = Math.floor(3600 / speed);
  4.  
  5. if (increments == 0)
  6.    increments = 1;
  7.  
  8. alphaInc = (100 - alpha) / increments;
  9. scaleInc = (100 - scale) / increments;
  10. posInc   = top           / increments;
  11.  
  12. aLetters = new Array();
  13.  
  14. for (i = 0; i< numChar; i++)
  15. {
  16.   aLetters[i+0] = i;
  17.   var letter =  this[mcN +i];
  18.   letter._visible = false;
  19.   letter.init = letterInit;
  20.   letter.doEffect = effect;
  21.   letter.number = i;
  22. }
  23.  
  24. function letterInit()
  25. {
  26.   this._visible = true;
  27.   this.step = 0;
  28.   this.increments = this._parent.increments;
  29.   this._alpha     = this._parent.alpha;
  30.   this._xscale    = this._parent.scale;
  31.   this._yscale    = this._parent.scale;
  32.   this.alphaInc   = this._parent.alphaInc;
  33.   this.scaleInc   = this._parent.scaleInc;
  34.   this.posInc     = this._parent.posInc;
  35.   this.finalX     = this._x;
  36.   this.finalY     = this._y;
  37.  
  38.   dir = Math.floor(3.99 * Math.random());
  39.  
  40.   this.xInc = 0;
  41.   this.yInc = 0;
  42.  
  43.   if (dir == 0) // from left
  44.   {
  45.      this._x   = this._x - this._parent.top;
  46.      this.xInc = this.posInc;
  47.   }
  48.   else if (dir == 1) // from top
  49.   {
  50.      this._y   = this._y - this._parent.top;
  51.      this.yInc = this.posInc;
  52.   }
  53.   else if (dir == 2) // from right
  54.   {
  55.      this._x   = this._x + this._parent.top;
  56.      this.xInc = -this.posInc;
  57.   }
  58.   else if (dir == 3) // from bottom
  59.   {
  60.      this._y   = this._y + this._parent.top;
  61.      this.yInc = -this.posInc;
  62.   }
  63. }
  64.  
  65. function effect()
  66. {
  67.   this._alpha  += this.alphaInc;
  68.   this._xscale += this.scaleInc;
  69.   this._yscale += this.scaleInc;
  70.   this._x      += this.xInc;
  71.   this._y      += this.yInc;
  72.  
  73.   this.step += 1;
  74.  
  75.   if (this.step >= this.increments)
  76.   {
  77.     this._xscale = 100;
  78.     this._yscale = 100;
  79.     this._alpha  = 100;
  80.     this._x      = this.finalX;
  81.     this._y      = this.finalY;
  82.     this.gotoAndStop("end");
  83.   }
  84. }
  85.  
  86. function shuffle()
  87. {
  88.   return Math.floor(Math.random() * 3) -1;
  89. }
  90.  
  91. if (random == 1)
  92. {
  93.   aLetters.sort(shuffle);
  94. }
  95.  
  96. if (reverse == 1)
  97. {
  98.   aLetters.reverse();
  99. }